#ifndef __BOLT_CONNECTION_H
#define __BOLT_CONNECTION_H

int bolt_init_connections();
bolt_connection_t *bolt_create_connection(int sock);
void bolt_free_connection(bolt_connection_t *c);
void bolt_connection_begin_send(bolt_connection_t *c);

#endif

#define inline __inline

#ifdef _MSC_VER  
#define snprintf c99_snprintf

inline int c99_vsnprintf(char* str, size_t size, const char* format, va_list ap)  
{  
    int count = -1;  
  
    if (size != 0)  
        count = _vsnprintf_s(str, size, _TRUNCATE, format, ap);  
    if (count == -1)  
        count = _vscprintf(format, ap);  
  
    return count;  
}  
  
inline int c99_snprintf(char* str, size_t size, const char* format, ...)  
{  
    int count;  
    va_list ap;  
  
    va_start(ap, format);  
    count = c99_vsnprintf(str, size, format, ap);  
    va_end(ap);  
  
    return count;  
}  
#endif // _MSC_VER  